Membre du Groupe : Ismael Mohamed 295465, Romain Pion 222525, Mathieu Guilbaud 223096 Repo Github : https://github.com/MohamedXi/5rbig_project.git
Ces données concernent les élèves de deux écoles publiques portugaises et ont été recueillies au cours de l’année scolaire 2005-2006. Nous étudierons toutes les variables et leurs interactions, en mettant l’accent sur les facteurs qui influent sur la réussite des élèves.
Chargement des librairies
if(!require("ggplot2")){install.packages("ggplot2")}
if(!require("dplyr")){install.packages("dplyr")}
if(!require("ggwordcloud")){install.packages("ggwordcloud")}
if(!require("readxl")){install.packages("readxl")}
if(!require("factorplot")){install.packages("factorplot")}
if(!require("wordcloud2")){install.packages("wordcloud2")}
if(!require("readxl")){install.packages("readxl")}
if(!require("factorplot")){install.packages("factorplot")}
if(!require("pheatmap")){install.packages("pheatmap")}
if(!require("car")){install.packages("car")}
if(!require("factoextra")){install.packages("factoextra")}
if(!require("cluster")){install.packages("cluster")}
if(!require("tidyverse")){install.packages("tidyverse")}
library(tidyverse)
library(cluster)
library(factoextra)
library(ggplot2)
options(warn=-1)
library(dplyr)
library(readr)
library(psych)
library(ggwordcloud)
library(wordcloud2)
library(readxl)
library(factorplot)
library(pheatmap)
library(car)
Chargement des données.
mprbig <- read_excel("MP-5RBIG.xlsx")
Affichage des différentes variable;
head(mprbig)
summary(mprbig)
school sex age address famsize
Length:395 Length:395 Min. :15.0 Length:395 Length:395
Class :character Class :character 1st Qu.:16.0 Class :character Class :character
Mode :character Mode :character Median :17.0 Mode :character Mode :character
Mean :16.7
3rd Qu.:18.0
Max. :22.0
Pstatus Medu Fedu Mjob Fjob
Length:395 Min. :0.000 Min. :0.000 Length:395 Length:395
Class :character 1st Qu.:2.000 1st Qu.:2.000 Class :character Class :character
Mode :character Median :3.000 Median :2.000 Mode :character Mode :character
Mean :2.749 Mean :2.522
3rd Qu.:4.000 3rd Qu.:3.000
Max. :4.000 Max. :4.000
reason guardian traveltime studytime failures
Length:395 Length:395 Min. :1.000 Min. :1.000 Min. :0.0000
Class :character Class :character 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:0.0000
Mode :character Mode :character Median :1.000 Median :2.000 Median :0.0000
Mean :1.448 Mean :2.035 Mean :0.3342
3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:0.0000
Max. :4.000 Max. :4.000 Max. :3.0000
schoolsup famsup paid activities
Length:395 Length:395 Length:395 Length:395
Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character
nursery higher internet romantic
Length:395 Length:395 Length:395 Length:395
Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character
famrel freetime goout Dalc Walc
Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.:4.000 1st Qu.:3.000 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000
Median :4.000 Median :3.000 Median :3.000 Median :1.000 Median :2.000
Mean :3.944 Mean :3.235 Mean :3.109 Mean :1.481 Mean :2.291
3rd Qu.:5.000 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:2.000 3rd Qu.:3.000
Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000
health absences G1 G2 G3
Min. :1.000 Min. : 0.000 Min. : 3.00 Min. : 0.00 Min. : 0.00
1st Qu.:3.000 1st Qu.: 0.000 1st Qu.: 8.00 1st Qu.: 9.00 1st Qu.: 8.00
Median :4.000 Median : 4.000 Median :11.00 Median :11.00 Median :11.00
Mean :3.554 Mean : 5.709 Mean :10.91 Mean :10.71 Mean :10.42
3rd Qu.:5.000 3rd Qu.: 8.000 3rd Qu.:13.00 3rd Qu.:13.00 3rd Qu.:14.00
Max. :5.000 Max. :75.000 Max. :19.00 Max. :19.00 Max. :20.00
Vérification s’il n’y a pas de valaure manquante
sum(is.na(mprbig))
[1] 0
finalResult <- NULL
for (x in mprbig$G3) {
if (x < 10 ) {
finalResult <- c(finalResult,"fail")
} else {
finalResult <- c(finalResult,"pass")
}
}
mprbig <- data.frame(mprbig,finalResult)
mprbig
academicGrade <- NULL
for (x in mprbig$G3) {
if (x >= 16 ) {
academicGrade <- c(academicGrade,"A")
}
if (x >= 14 && x < 16) {
academicGrade <- c(academicGrade,"B")
}
if (x >= 12 && x < 14) {
academicGrade <- c(academicGrade,"C")
}
if (x >= 10 && x < 12) {
academicGrade <- c(academicGrade,"D")
}
if (x <= 9){
academicGrade <- c(academicGrade,"E")
}
}
mprbig <- data.frame(mprbig,academicGrade)
mprbig
Le genre La majorité des individus sont des femmes
ggplot(data=mprbig,aes(x=sex,fill=sex)) + geom_bar()
L’éducation de la mère La majorité des individus ont une mère avec un niveau d’étude élevé
ggplot(data=mprbig,aes(x=Medu,fill=Medu))+geom_bar()
L’éducation du père La majorité des individus ont un père ayant un niveau d’étude élevé
ggplot(data=mprbig,aes(x=Fedu,fill=Fedu))+geom_bar()
Le support pédagogique suplémentaire La majorité des individus n’ont pas de support pédagogique suplémentaire
ggplot(data=mprbig,aes(x=schoolsup,fill=schoolsup))+geom_bar()
Le soutien éducatif familial La majorité des individus ont un soutien éducatif familial
ggplot(data=mprbig,aes(x=famsup,fill=famsup))+geom_bar()
Les cours de mathématiques payant suplémentaire La majorité des individus ne suivent pas de cours de mathématiques payant suplémentaire
ggplot(data=mprbig,aes(x=paid,fill=paid))+geom_bar()
Nombre d’individus voulant suivre des études supérieurs La majorité des individus veulent suivre des études supérieurs
ggplot(data=mprbig,aes(x=higher,fill=higher))+geom_bar()
L’accès à internet à son domicile La majorité des individus ont accès à internet
ggplot(data=mprbig,aes(x=internet,fill=internet))+geom_bar()
Les admis La majorité des individus ont réussie leur examen
ggplot(data=mprbig,aes(x=finalResult,fill=finalResult))+geom_bar()
Le niveau obtenu à l’examen La majorité des individus ont obtenu le niveau E
ggplot(data=mprbig,aes(x=academicGrade,fill=academicGrade))+geom_bar()
Analyse du genre sur le support pédagogique suplémentaire Proportionellement, les femmes reçoivent plus souvent un support pédagogique suplémentaire que les hommes
ggplot(data=mprbig,aes(x=sex,fill=schoolsup))+geom_bar()
Analyse du genre sur l’aide éducatif familial Les hommes reçoivent plus souvent de l’aide éducatif familial que les femmes
ggplot(data=mprbig,aes(x=sex,fill=famsup))+geom_bar()
Analyse du genre sur l’envie de suivre des études supérieurs Les femmes ont majoritairement envie de faire des études supérieurs
ggplot(data=mprbig,aes(x=sex,fill=higher))+geom_bar()
Analyse du genre sur l’obtention du diplome Les hommes ont proportionellement mieux réussie à obtenir leur diplome que les femmes
ggplot(data=mprbig,aes(x=sex,fill=finalResult))+geom_bar()
Analyse du genre sur le niveau obtenu suite à l’examen Les femmes ont de meilleurs résultats que les hommes
ggplot(data=mprbig,aes(x=academicGrade,fill=sex))+geom_bar()
Analyse du niveau d’étude de la mère sur l’obtention de l’examen Les individus ayant réussie leur examen ont majoritairement une mère avec un haut niveau d’étude
ggplot(data=mprbig,aes(x=Medu,fill=finalResult))+geom_bar()
Analyse du support pédagogique suplémentaire sur l’aide éducatif familial Les individus ayant du support pédagogique suplémentaire ont plus d’aide éducatif familial
ggplot(data=mprbig,aes(x=schoolsup,fill=famsup))+geom_bar()
Analyse de l’envie de faire des études supérieurs sur le niveau d’étude de la mère Les individus ayant envie de faire des études supérieurs ont en grande partie une mère ayant un haut niveau d’étude
ggplot(data=mprbig,aes(x=Medu,fill=higher))+geom_bar()
Analyse de l’envie de faire des études supérieurs sur le niveau d’étude du père Les individus ayant envie de faire des études supérieurs ont majoritairement un père ayant un niveau d’étude élevé
ggplot(data=mprbig,aes(x=Fedu,fill=higher))+geom_bar()
Analyse du niveau d’étude du père sur l’obtention de l’examen Le niveau d’étude du père ne semble pas avoir d’impact sur l’obtention de l’examen
ggplot(data=mprbig,aes(x=Fedu,fill=finalResult))+geom_bar()
Analyse de la possession de internet sur l’obtention de l’examen La majorité des individus ayant réussie leur examen ont internet
ggplot(data=mprbig,aes(x=internet,fill=finalResult))+geom_bar()
Analyse de la possession de internet sur le niveau obtenu à l’examen Les meilleurs notes ont été obtenue par des individus ayant internet ( grade E )
ggplot(data=mprbig,aes(x=academicGrade,fill=internet))+geom_bar()
Analyse du genre sur l’envie de faire des études supérieurs
# association sex, envie de faire des études supérieurs
test = chisq.test(mprbig$sex,mprbig$higher)
test$statistic # la statistique du Chi2
X-squared
7.685935
test$parameter # le nombre de degrés de libertés
df
1
test$p.value # la p-value
[1] 0.005565284
test$observed # la matrice observée de départ
mprbig$higher
mprbig$sex no yes
F 4 204
M 16 171
test$expected # la matrice attendue sous l'hypothèse nulle d'absence de biais
mprbig$higher
mprbig$sex no yes
F 10.531646 197.4684
M 9.468354 177.5316
On constate que la p-value étant inférieur à 5%, On rejette l’hypothèse de dépendance entre les deux variables
Analyse de l’envie de faire des études supérieurs sur l’obtention de l’examen
# association envie de faire des études supérieures, obtention de l'examen
test = chisq.test(mprbig$higher,mprbig$finalResult)
test$statistic # la statistique du Chi2
X-squared
8.353142
test$parameter # le nombre de degrés de libertés
df
1
test$p.value # la p-value
[1] 0.00385021
test$observed # la matrice observée de départ
mprbig$finalResult
mprbig$higher fail pass
no 13 7
yes 117 258
test$expected # la matrice attendue sous l'hypothèse nulle d'absence de biais
mprbig$finalResult
mprbig$higher fail pass
no 6.582278 13.41772
yes 123.417722 251.58228
On constate que la p-value étant inférieur à 5%, On rejette l’hypothèse de dépendance entre les deux variables
student <- mprbig
var(student$age)
[1] 1.628285
age= ggplot(aes(x=age), data=student)+
geom_histogram(binwidth = 0.50, fill='darkblue', color='darkblue')+
ggtitle("Age of students")
age
L’histogramme ci-dessus montre clairement que la plupart des élèves ont entre 15 et 18 ans, ce qui est logique puisque la plupart des élèves commencent le lycée à l’âge de 15 ans et le terminent à 18 ans, étant donné qu’en général, les lycées du monde entier ne durent que 3 ans.
ggplot(student,aes(x=studytime,y=G3)) + stat_summary(fun="mean", geom="bar",fill="darkblue") + ggtitle("G3 versus studytime")
Comme le montre la figure ci-dessus, les étudiants qui étudient plus longtemps obtiennent de meilleures notes finales que ceux qui étudient moins longtemps.
Répartition des échecs précédents.
ggplot(data = student, aes(x = failures)) +
geom_histogram(binwidth = 0.50, fill='darkblue', color='darkblue') +
geom_density() +
ggtitle("Distribution of previous failures in student data") +
xlab("Failures") +
ylab("Distribution of Failures")+
theme(plot.title=element_text(face="bold"))
Afficher la corrélation entre les échecs et les notes.
cor(student$G3, student$failures)
[1] -0.3604149
plot(x=student$failures, y=student$G3, xlab = "Failures", ylab = "Rank", col = "blue")
absences= ggplot(data=student,aes(x=absences, y=G1, col=sex))+geom_point()+geom_smooth(method="lm",se=F)+facet_grid(~sex)
absences
À partir du graphique ci-dessus, nous pouvons voir comment l’absence affecte négativement les performances des garçons, mais l’absence de cours n’a pas d’impact négatif sur les performances des filles en classe.
var(student$G1)
[1] 11.01705
ages= ggplot(data=student,aes(x=age, fill=sex))+geom_histogram(binwidth=0.50)
ages
Comme le montre clairement le graphique ci-dessus, la plupart des étudiants de plus de 18 ans sont des étudiants de sexe masculin car il n’y a pas d’étudiantes de plus de 20 ans.
G1 par rapport au sexe et à l’âge
G1=ggplot(data=student,aes(x=age, y=G1, col=sex, shape=sex))+geom_point()+geom_smooth(method="lm",se=F)+facet_grid(~sex)
G1
Nous pouvons voir que les performances des filles s’améliorent avec l’âge, cependant, une diminution des performances des garçons et nettement visible dans le graphique ci-dessus.
————– g2
numeric_features <- Filter(is.numeric, student)
library(pheatmap)
pheatmap(cor(numeric_features))
Comme montre la carte, la corrélation varie entre 1 et -1. La couleur rouge correspond à la corrélation élevée entre nos caractéristiques.
Par exemple : Corrélation positive : G1 et G3 Corrélation négative : les failures et le studytime présentent une corrélation négative
#plot(with(student,G2), with(student,G3), xlab='G1', ylab='G3')
ggplot(student, aes(x=G2,y=G3)) + geom_point() + geom_smooth(method="lm", se=FALSE)
On peut remarquer le G3 présente une forte corrélation positive avec le G2.
ggplot(student,aes(x=G3))+geom_histogram(fill="darkblue",color="darkblue",na.rm=TRUE)+
labs(title="Classement des notes G3 par rapport à l'âge",y="",x="")+facet_wrap(~age)+
theme(axis.text.x = element_text(angle = 45, hjust = 1))
contengency <- table(student$G3,student$sex)
print(contengency)
F M
0 23 15
4 1 0
5 3 4
6 13 2
7 4 5
8 14 18
9 17 11
10 30 26
11 29 18
12 11 20
13 17 14
14 14 13
15 16 17
16 6 10
17 3 3
18 5 7
19 2 3
20 0 1
Consultation de la dépendance avec un stack bar chart.
ggplot(student,aes(x=G3,fill=sex))+geom_bar(position="stack")+theme(axis.text.x = element_text(angle = 45, hjust = 1))+
labs(x="Note (G3)",y="Sex",title="Notes des élèves par sexe")
On fait ensuite une comparaison avec des % pour mieu representer le graph.
ggplot(student,aes(x=G3,fill=sex))+geom_bar(position="fill")+theme(axis.text.x = element_text(angle = 45, hjust = 1))+
labs(x="Note (G3)",y="Sexe",title="Notes des élèves par sexe en %")
Créer un ensemble de données constitué uniquement de données mathématiques, avec des variables sexe (sex) et note finale(G3.
dataSexG3 = subset(student, select = c(sex, G3))
glimpse(dataSexG3)
Rows: 395
Columns: 2
$ sex <chr> "F", "F", "F", "F", "F", "M", "M", "F", "M", "M", "F", "F", "M", "M", "M", "F…
$ G3 <dbl> 6, 6, 10, 15, 10, 15, 11, 6, 19, 15, 9, 12, 14, 11, 16, 14, 14, 10, 5, 10, 15…
Nous avons donc une variable catégorielle qui est le sex. Et nous avons une variable quantitative qui est *G3$ (note final)
Histograms/barplot des différentes variables qui seront pertinentes pour les tests statistiques.
sexGraph <- table(dataSexG3$sex)
par(mfrow=c(2,2))
hist(dataSexG3$G3, breaks = 30, col = "darkblue", main = "Histogram de la variable student")
barplot(sexGraph, col="darkblue", main = "Barplot de la variable sex")
Graphiques de densité pour l’âge, les absences et le note finale
G3Dens <- density(dataSexG3$G3)
plot(G3Dens)
Nous pouvons voir quelques tendances claires dans les données.Il y a seulement un peu plus de femmes que d’hommes, et la note finale en mathématiques est à peu près également répartie.le plus grand nombre de personnes qui ont échoué aux tests, c’est-à-dire qui ont reçu la note 0, fera pencher toute analyse des moyennes des notes finales nettement vers la gauche. Cela est assez évident si l’on regarde le graphique de densité ci-dessus.
Le test de Bartlett
bartlett.test(G3[dataSexG3$G3 > 0] ~ sex[dataSexG3$G3 > 0], data=dataSexG3)
Bartlett test of homogeneity of variances
data: G3[dataSexG3$G3 > 0] by sex[dataSexG3$G3 > 0]
Bartlett's K-squared = 0.12148, df = 1, p-value = 0.7274
Le test de Levene
leveneTest(y = dataSexG3$G3, group = dataSexG3$sex)
dataSexG3$sex coerced to factor.
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 1 0.0685 0.7937
393
Visualisation par Boxplot des notes finales pour chaque sexe.
ggplot(dataSexG3, aes(x = sex, y = G3)) +
geom_boxplot(col = "black") +
ggtitle("Moyennes des notes finales par sexe")
En se basant sur les deux tests et la visualisation des données en question, on peut affirmer sans risque que l’hypothèse d’homogénéité de la variance est remplie dans cet exemple.
L’homogénéité des variances t.test
t.test(dataSexG3$G3[dataSexG3$sex=="F" & dataSexG3$G3>0], dataSexG3$G3[dataSexG3$sex=="M" & dataSexG3$G3>0])
Welch Two Sample t-test
data: dataSexG3$G3[dataSexG3$sex == "F" & dataSexG3$G3 > 0] and dataSexG3$G3[dataSexG3$sex == "M" & dataSexG3$G3 > 0]
t = -1.9386, df = 351.54, p-value = 0.05335
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.331331307 0.009583978
sample estimates:
mean of x mean of y
11.20541 11.86628
Les notes finales moyennes des filles et des garçons sont présentées dans la console après avoir effectué le test t. Les filles ont obtenu une note de 11,20, et les garçons une note moyenne de 11,86. Cette différence est égale à environ 0,66.
age.g3 <- aov(G3 ~ factor(age), data = student)
TukeyHSD(age.g3)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = G3 ~ factor(age), data = student)
$`factor(age)`
diff lwr upr p adj
16-15 -0.2272514 -2.265444 1.8109414 0.9999747
17-15 -0.9805874 -3.046104 1.0849292 0.8346939
18-15 -1.7073171 -3.862680 0.4480461 0.2374238
19-15 -3.0477642 -6.250733 0.1552050 0.0753852
20-15 2.7439024 -5.368590 10.8563947 0.9695415
21-15 -4.2560976 -18.141054 9.6288584 0.9825598
22-15 -3.2560976 -17.141054 10.6288584 0.9965457
17-16 -0.7533359 -2.696271 1.1895995 0.9368291
18-16 -1.4800657 -3.518258 0.5581271 0.3461517
19-16 -2.8205128 -5.945837 0.3048114 0.1110364
20-16 2.9711538 -5.110997 11.0533052 0.9521487
21-16 -4.0288462 -17.896097 9.8384045 0.9872488
22-16 -3.0288462 -16.896097 10.8384045 0.9977951
18-17 -0.7267297 -2.792246 1.3387868 0.9621847
19-17 -2.0671769 -5.210389 1.0760349 0.4802791
20-17 3.7244898 -4.364595 11.8135750 0.8555397
21-17 -3.2755102 -17.146803 10.5957828 0.9963925
22-17 -2.2755102 -16.146803 11.5957828 0.9996581
19-18 -1.3404472 -4.543416 1.8625221 0.9074950
20-18 4.4512195 -3.661273 12.5637118 0.7052971
21-18 -2.5487805 -16.433736 11.3361755 0.9992827
22-18 -1.5487805 -15.433736 12.3361755 0.9999746
20-19 5.7916667 -2.659721 14.2430543 0.4242194
21-19 -1.2083333 -15.293979 12.8773127 0.9999958
22-19 -0.2083333 -14.293979 13.8773127 1.0000000
21-20 -7.0000000 -22.936089 8.9360893 0.8835131
22-20 -6.0000000 -21.936089 9.9360893 0.9457419
22-21 1.0000000 -18.517644 20.5176436 0.9999999
Les résultats montrent qu’il n’y a pas de différence dans les notes finales entre les différents groupes d’âge. Les valeurs p Adj sont toutes supérieures à 0,05.
Preparion de la donné
# nombre de ligne
nbl <- 40
# creation du data frame
kdf <- data.frame(mprbig$age,mprbig$studytime,mprbig$failures,mprbig$absences,mprbig$G1,mprbig$G2,mprbig$G3)
#scaling the data
kdf <- scale(kdf[0:nbl,])
Désignation du meilleur nombre de clusters
#Average Silhouette Method
fviz_nbclust(kdf, kmeans, method = "silhouette")
#Gap Statistic Method (methode pour savoir le nombre de cluster)
gap_stat <- clusGap(kdf, FUN = kmeans, nstart = 25, K.max = 10)
Clustering k = 1,2,..., K.max (= 10): .. done
Bootstrapping, b = 1,2,..., B (= 100) [one "." per sample]:
.................................................. 50
.................................................. 100
fviz_gap_stat(gap_stat)
Visualisation des clusters
krbig <- kmeans(kdf, centers = 2, nstart = 50)
fviz_cluster(krbig, data = kdf)
Anlalise des clusters
fkrbig <- cbind(mprbig[0:nbl,], clusterNum = krbig$cluster)
ggplot(fkrbig, aes(x = clusterNum, y = G3)) +
geom_boxplot(aes(group = clusterNum)) +
stat_summary(fun = "mean", geom = "point", size= 2) +
ggtitle("Note par rapport au cluster")
Dans le le graphique ci-dessus, nous pouvons observer que le premier cluster montre ceux qui ont reussi et dans le deuxiéme cluster ceux qui n’ont pas réussi.
On remarque que les cluster se font par rapport au note , on peux en déduire que les variables utilisées n’ont pas d’influence sur les notes
Visualisation du Regroupement hiérarchique
#nombre de ligne
nbl <- 40
#creation du data frame
hdf <- data.frame(mprbig$age,mprbig$studytime,mprbig$failures,mprbig$absences,mprbig$G1,mprbig$G2,mprbig$G3)
# la matrice de distance
distmat <- dist(hdf[0:nbl,],method = 'euclidean')
hrbig <- hclust(distmat)
plot(hrbig)
On remarque bien qu’il y a deux grande partie
Découpe de l’arbre en clusters
#decoupe de l'arbre en cluster
cut <- cutree(hrbig,2)
plot(hrbig)
rect.hclust(hrbig , k = 2, border = 2:6)
Analise des donner dans chaque clusters
fhrbig <- cbind(mprbig[0:nbl,], clusterNum = cut)
ggplot(fhrbig, aes(x = clusterNum, y = G3)) +
geom_boxplot(aes(group = clusterNum)) +
stat_summary(fun = "mean", geom = "point", size= 2) +
ggtitle("Note par rapport au cluster")
On remarque que c’est la meme disposition qu’avec le k-moyenne mais les cluster sont inversés : dans le premier nous avons les moins bonne notes et dans le 2ieme les meilleurs notes
On remarque les mêmes clusters que le k-moyenne, on peux dire que les variable utilisé n’ont pas d’influence sur les notes
Suite à l’étude que nous avons mené sur les données du fichier CSV/XLXS, nous pouvons conclure que le facteur qui influe le plus sur la notation des étudiants est le genre. En effet, nous avons constaté que les filles sont beaucoup plus motivée à l’idée de poursuivre des études supérieures et ont plus de support pédagogique que les garçons(support de cours personnel supplémentaire).
Pour les garçons, ils sont plus âgés, étudient moins et ont plus d’absences que les filles. Cela entraîne un retard qu’ils n’arrivent pas à rattraper par la suite.
Ce qui permet donc d’affirmer que les filles s’en mieux que les garçons dans leurs études de manière générale.